Search results for "Software bug"
showing 3 items of 3 documents
A comprehensive study of automatic program repair on the QuixBugs benchmark
2021
Abstract Automatic program repair papers tend to repeatedly use the same benchmarks. This poses a threat to the external validity of the findings of the program repair research community. In this paper, we perform an empirical study of automatic repair on a benchmark of bugs called QuixBugs, which has been little studied. In this paper, (1) We report on the characteristics of QuixBugs; (2) We study the effectiveness of 10 program repair tools on it; (3) We apply three patch correctness assessment techniques to comprehensively study the presence of overfitting patches in QuixBugs. Our key results are: (1) 16/40 buggy programs in QuixBugs can be repaired with at least a test suite adequate pa…
Finding Software Bugs in Embedded Devices
2021
AbstractThe goal of this chapter is to introduce the reader to the domain of bug discovery in embedded systems which are at the core of the Internet of Things. Embedded software has a number of particularities which makes it slightly different to general purpose software. In particular, embedded devices are more exposed to software attacks but have lower defense levels and are often left unattended. At the same time, analyzing their security is more difficult because they are very “opaque”, while the execution of custom and embedded software is often entangled with the hardware and peripherals. These differences have an impact on our ability to find software bugs in such systems. This chapt…
Towards an Understanding of the Causes of Difficulties in Debugging
2018
Debugging remains one of the areas that have seen little progress since the early days of programming. We argue that the academic approach of observational studies is incapable of capturing the essence of debugging in complex software. Instead, reflections by programmers may provide a better description of the debugging nature and challenges. In this article, we describe a study where we capture the reflections of programmers on thorny bugs that exemplify the major sources of difficulties in debugging. More importantly, we provide suggestions on what could have been done to avoid such thorny bugs from occurring with the same level of difficulties. As a major conclusion, we argue that the be…